얼마전 회사에서 팀원들의 휴가를 파악할 수 있는 간단한 슬랙봇을 만들어달라는 요청이 들어왔습니다.
슬랙에서는 정말 다양한 앱을 통해서 워크플로를 구성할 수 있는데 애석하게도 캘린더를 직접적으로 연동하는 워크플로는 제공하지 않았습니다.
구글 API를 통한 구글 캘린더를 사용할수도 있었지만 구글 캘린더를 사용하게 되면 팀원들의 개인 계정이 연결되어 각 개인 일정과 혼동을 겪은 경험들을 했기 때문에 구글 캘린더의 사용만큼은 피하고 싶었습니다..!
그래서 저는 몇가지 회사의 요구사항과 주요 포인트를 고려한 고민들을 거쳐 노션 캘린더를 선택했고 Notion API를 사용해서 슬랙봇을 만들기로 했습니다.
더보기 > 자동화 선택
앱 > Notion
검색 > Notion
추가
Slack에 추가
클릭
워크스페이스 설정 > 내 연결
> Slack
연결
Notion 계정을 선택하고 권한을 허용
액세스를 허용한 뒤, 내 연결
탭을 확인하면 Slack이 연결된 모습을 볼 수 있습니다.
페이지 추가
> 페이지 하단부 캘린더
생성 > 새 데이터 베이스 시작
선택
(기존에 사용하고 있던 일정 DB가 있다면 기존 데이터베이스 연결
에서 특정 DB 선택)
Notion 상단 헤더 좌측 ...
클릭 > 연결 항목
선택 > 나의 Notion에 연결된 Slack 앱을 찾아서 선택
이렇게 Notion의 캘린더 DB에 Slack을 연동을 완료했습니다.
여기부터는 개인의 요구사항에 따라 다양한 자동화 플로우를 만들 수 있습니다.
저는 포스트 처음에 설정한 요구사항에 따라서 휴가 일정 추가시 알림
을 간단히 자동화 해보겠습니다.
캘린더 좌측 헤더 ···
선택 > 자동화
선택
자동화
는 간단히 블록코딩과 같다고 볼 수 있습니다.
어떠한 동작을 수행할 때 어떤 동작을 하느냐를 결정하는 매우 편리한 자동화 플로우입니다.
저는 팀원들이 캘린더에 페이지 추가를 완료하면 Slack으로 알림을 보내고 싶기 때문에 새 조건
에서 페이지 추가 완료를 선택합니다.
페이지를 추가하면 저는 테스트로 slack-전체
채널에 알림을 보내도록 설정해 보겠습니다.
Notion에 페이지 추가를 완료하고 약 5분안에 Slack에서 연동된 Notion앱의 자동화 처리가 되어 알림을 받을 수 있었습니다.
Slack에 Notion을 연동해서 간단한 자동화 플로우를 통해 Slack 알림을 받아 보았습니다.
사실 이러한 플로우가 세부적인 자동화나 커스텀 영역에서 부족한 부분들이 있다는게 조금은 아쉽게 생각은 하고 있습니다.
하지만 Notion은 계속해서 업데이트가 이뤄지고 있어 앞으로 자동화 기능도 더욱 발전할 것 같아 여러모로 기대가 됩니다! 🙂
다음 포스트에서는 본격적으로 Notion API를 통한 일정 관리 봇을 만들어 보겠습니다.(Nodejs 서버 구성, AWS lambda 배포, AWS cloud-watch)